package com.jingdianjichi.subject.service;

import com.jingdianjichi.subject.common.entity.PageResult;
import com.jingdianjichi.subject.entity.SubjectLikedBO;

/**
 * @author 董代恒
 * @version 1.0
 */

public interface SubjectLikedDomainService {

    /**
     * 用户点赞
     *
     * @param subjectLikedBO
     */
    void add(SubjectLikedBO subjectLikedBO);

    /**
     * 获取当前是否被点赞过
     */
    Boolean isLiked(String subjectId, String userId);

    /**
     * 获取点赞数量
     */
    Integer getLikedCount(String subjectId);

    /**
     * 同步点赞数据
     */
    void syncLiked();

    /**
     * 查询点赞列表
     *
     * @param subjectLikedBO
     * @return
     */
    PageResult<SubjectLikedBO> getSubjectLikedPage(SubjectLikedBO subjectLikedBO);

    /**
     * 修改点赞列表
     *
     * @param subjectLikedBO
     * @return
     */
    Object update(SubjectLikedBO subjectLikedBO);

    /**
     * 删除题目点赞表
     *
     * @param subjectLikedBO
     * @return
     */
    Object delete(SubjectLikedBO subjectLikedBO);
}
